技术分享|【译】安卓14取证技术初探
设备信息和常规设置
build.prop TXT 格式 存储在系统分区的根目录下 除其他外,它还包含设备制造商、设备型号、操作系统版本和内部版本 aLEAPP 插件 global_settings.xml
ABX 格式 存储在userdata 分区中的“/system/users/0/”下 包含自动时间调整、Wi-Fi 开/关和蓝牙开/关等全局设置。
system_settings.xml
ABX 格式 存储在userdata 分区中的“/system/users/0/”下 包含音频电平和显示亮度等系统设置。
secure_settings.xml
ABX 格式 存储在userdata 分区中的“/system/users/0/”下 包含安全设置,例如 Android ID、蓝牙名称和辅助功能。 aLEAPP 插件
googlesettings.db
SQLite 格式 存储在userdata 分区中的“/data/com.android.gsf/databases/”下 包含定位服务的设置
gservices.db
SQLite 格式 存储在userdata 分区中的“/data/com.android.gsf/databases/”下 包含与 Google 服务相关的各种设置
persistent_properties
Protobuf 格式 存储在userdata 分区中的“/property/”下 包含有关本地时区和语言设置的信息
factory_reset和factory_reset_record_value
存储在userdata 分区中的 “/misc/bootstat/”下 最后修改的时间戳与出厂重置的时间戳一致
setup_wizard_info.xml
XML 格式 存储在userdata 分区中的“/data/com.google.android.settings.intelligence/shared_prefs/”下 它存储的值 "suw_finished_time_ms "与设备设置的时间戳相对应 aLEAPP 插件
suggestions.xml
XML 格式 存储在userdata 分区中的“/data/com.google.android.settings.intelligence/shared_prefs/”下 它存储的值 "com.android.settings.supposed.category.DEFERRED_SETUP_setup_time "和 "com.android.settings/com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity_setup_time "与设备设置的时间戳相对应。 aLEAPP 插件
notification_policy.xml
ABX 格式 存储在userdata 分区中“/system/”下 它跟踪通知是否在锁屏上可见
Wipeout! Detecting Android Factory Resets
Wipeout! Part Deux – Determining How an Android Was Setup
账户信息
0.xml ABX 格式 存储在userdata 分区中“/system/users/0/”下 包含有关本地用户帐户的信息,包括最后登录日期 accounts_ce.db SQLite 格式 存储在userdata 分区中的“/system_ce/0/”下 包含有关设备上使用的帐户的信息,例如 Gmail、Facebook、WhatsApp、Telegram、Signal 等,可能还包含密码/令牌 对于每个帐户 帐户名称 帐户类型 密码/令牌 aLEAPP 插件 aLEAPP authtokens 插件 accounts_de.db SQLite 格式 包含有关设备上使用的帐户的信息,例如 Gmail、Facebook、WhatsApp、Telegram、Signal 等,可能还包括密码/令牌 对于每个帐户 帐户名称 帐户类型 操作类型(action_account_add、action_set_password等) 调试时间 aLEAPP 插件 accounts.xml ABX 格式 存储在userdata 分区中的“/system/sync/”下 存储通过 Google 账户的同步数据的信息 google_account_history.db
SQLite 格式 存储在userdata 分区中的“/data/com.google.android.gms/databases/”下 包含一个相关表(“AccountHistory”) 存储设备上所有 Google 帐户的设置和使用历史记录
可以有多个本地用户。第一个用户是用户 0,如果检查“/system/users/”文件夹,可能会发现更多本地用户。三星设备上一个比较常见的例子是管理“安全文件夹”的本地用户,通常编号为 150
第三方应用程序无需将信息存储在accounts_ce.db或accounts_en.db中。因此,必须将这些文件视为一个基点,并通过分析所有相关应用程序的所有沙箱来扩展
移动网络、Wi-Fi和蓝牙配置
telephony.db
SQLite 数据库
存储在userdata 分区中的“/user_de/0/com.android.providers.telephony/databases/”下
包含有关设备上使用的 SIM 卡的信息
包含一个相关表 (“siminfo”)
对于每张 SIM 卡:
ICCID (“icc_id”)
IMSI(“IMSI”)
电话号码(“phone_number_source_ims”)
显示名称 (“display_name”)
网络运营商名称(“carrier_name”)
MCC (“mcc_string”)
MNC(“mnc_string”)
国家代码(“iso_country_code”)
aLEAPP 插件
MdpSimBasedDatabase
SQLite 数据库
存储在userdata 分区中的“/data/com.google.android.gms/databases/”下
包含有关设备上使用的 SIM 卡的信息
Checkin.xml
XML 格式
存储在userdata 分区中的“/data/com.google.android.gms/shared_prefs/”下
包含最后使用的 SIM 卡的 ICCID 和 IMSI,包括时间戳
constellation.db
SQLite 格式
存储在userdata 分区中“/data/com.google.android.gms/databases/”下
包含最后使用的 SIM 卡的 IMSI
包含一个相关表 (“sim_verifications”)
WifiConfigStore.xml
XML 格式
存储在userdata 分区中的“/misc/apexdata/com.android.wifi/”下
包含连接过的 Wi-Fi 网络的列表
aLEAPP 插件
WifiConfigStoreSoftAp.xml
XML 格式
存储在userdata 分区中的“/misc/apexdata/com.android.wifi/”下
包含设备Wi-Fi 热点的相关信息
aLEAPP 插件
bt_config.conf 和 bt_config.bak
TXT 格式
存储在userdata 分区中的“/misc/bluedroid/bt_config.conf”下
包含有关设备的蓝牙配置和连接的蓝牙设备的历史记录的信息
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
aLEAPP 插件
对于与SIM卡相关的痕迹,作者推荐Cellebrite的这篇博文“Hex Diving — The Easy Way to Uncovering Hidden Forensic Artifacts”。
已安装的应用程序和权限
packages.list 和 package-usage.list
TXT 格式
存储在userdata 分区中的“/system/”下
这两个文件都包含已安装应用包的列表,包括应用包名称、应用包 UID 和应用包沙箱路径
aLEAPP 插件
packages.xml
ABX 格式
存储在userdata 分区中的“/system/”下
包含有关已安装应用包的信息,包括应用包 UID、应用包安装程序(即“com.android.vending”(用于通过应用商店安装的应用)或“com.google.android.packageinstaller”(用于通过应用包安装程序安装的应用)和权限(不包括运行时权限)
aLEAPP 插件
package-cstats.list 包
TXT 格式
存储在userdata 分区中的“/system/”下
包含有关应用包管理器编译器的统计数据
此文件非常有用,因为它通常包含对应用程序的引用,即使该应用程序已被卸载
roles.xml
XML 格式
存储在userdata 分区中的“/misc_de/0/apexdata/com.android.permission/”下
包含为 Android 中某些功能默认设置的应用程序列表
aLEAPP 插件
runtime-permissions.xml
XML 格式
存储在userdata 分区中的“/misc_de/0/apexdata/com.android.permission/”下
包含被 Android 归类为“危险”的权限
对于每个包和每个危险权限
授予(是/否)
Flag
aLEAPP 插件
Android’s “Dangerous” Permissions by Josh Hickman
Android - Roles and Permissions (Android 10/11) by Scott Vance
Mobile Forensics: Discovering the Undiscovered
library.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
包含谷歌用户在设备上使用的应用程序库。需要强调的是,此数据库与设备上安装的应用程序无关:您可以在此找到同一 Google 账户在其他设备上安装的应用程序,或在您正在分析的设备上之前安装的应用程序。
包含一个相关表(“ownership”)
对于每个应用程序:
Gmail帐户(“account”)
包名称 (“doc_id”)
购买日期(“purchase_time”)
aLEAPP 插件
localappstate.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
跟踪通过 Google Play 商店安装在设备上的应用程序(不包括通过其他方式安装的应用程序)
包含一个相关表 (“appstate”)
对于每个应用程序:
包名称 (“package_name”)
传递数据时间戳 (“delivery_data_timestamp_ms”)
首次下载的时间戳 (“first_download_ms”)
Google 帐户(以下简称“帐户”)
应用程序的通用名称(“title”)
最新通知版本(“last_notified_version”)
最后一次更新的时间戳 (“last_update_timestamp_ms”)
安装请求的时间戳 (“install_request_timestamp_ms”)
卸载应用程序时不会删除该信息
aLEAPP 插件
frosting.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
跟踪应用程序的安装和更新,无论其安装方式如何
包含一个相关表(“frosting”)
对于每个应用程序:
APK 路径 (“apk_path”)
最后更新 (“last_updated”)
软件包名称 (“pk”)
卸载应用程序时,将删除该信息
aLEAPP 插件
gass.db
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.gms/databases/”下
跟踪设备上安装的应用程序,无论它们是如何安装的
包含一个相关表 (“app_info”)
对于每个应用程序:
包名称 (“package_name”)
版本 (“version_code”)
APK SHA-256 (“digest_sha256”)
卸载应用程序时不会删除该信息
aLEAPP 插件
app_icons.db
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.nexuslauncher/databases/”下
跟踪应用程序图标的相关信息
包含一个相关表(“图标”)
对于每个应用程序:
标签 (“label”)
图标颜色 (“icon_color”)
最后更新 (“last_updated”)
版本 (“version”)
卸载应用程序时,将删除该信息
aLEAPP 插件
launcher_4_by_5.db
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.nexuslauncher/databases/”下
跟踪应用程序图标的相关信息
包含一个相关表(“favorites”)
对于每个应用程序:
应用程序名称(“title”)
应用程序意图(“intent”)
屏幕(“screen”)
PNG 图标(“icon“)
修改的时间戳(“modified”)
install_queue.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
跟踪安装过程
包含一个相关表 (“install_requests”)
对于每个应用程序:
原因(“reason”):包含“single_install”、“webapk_install”、“auto_update”等值。
软件包名称 (“pk”)
卸载应用程序时不会删除该信息
auto_update.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
跟踪应用程序的自动更新
包含一个相关表 (“auto_update”)
卸载应用程序时不会删除该信息
xternal_referrer_status.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/databases/”下
包含一个相关表 (“xternal_referrer_status_store”)
卸载应用时,不会删除该信息
原生应用程序
日历 (calendar.db):
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.calendar/databases/”下
aLEAPP 插件
联系人 (contacts2.db)
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.contacts/databases/”下
aLEAPP 插件
联系人 (icing_contacts.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.gms/databases/”下
通话记录(calllog.db)
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.contacts/databases/”下
aLEAPP 插件
下载 (download.db)
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.downloads/databases/”下
aLEAPP 插件
短信/彩信 (mmssms.db)
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.telephony/databases/”下
aLEAPP 插件
用户词典 (user_dict.db):
SQLite 格式
存储在userdata 分区中的“/data/com.android.providers.userdictionary/databases/”下
aLEAPP 插件
Google应用程序
Google Android 消息传递 (bugle_db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.messaging/databases”下
aLEAPP 插件
Google电话(dialer.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.dialer/databases/”下
Google电话 (annotated_call_log.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.dialer/databases/”下
Google电话 (phone_lookup_history.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.dialer/databases/”下
Google 邮件 (bigTopDataDB.-<User_ID>)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.gm/databases/”下
aLEAPP 插件
Google文件 (files_master_database)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.nbu.files/databases”下
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
aLEAPP 插件
Google相册 (gphotos-0.db / gphotos-1.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.photos/databases/”下
aLEAPP 插件
Google地图
各种感兴趣的文件
存储在userdata 分区中的“/data/com.google.android.apps.maps/databases”下
Josh Hickman 的博客文章和 Kibaffo33 的博客文章中介绍了最重要的痕迹
aLEAPP 插件
Google文档 (cello.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.docs.editors.docs/app_cello/<email_address>/”下
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
Google 文档 (DocList.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.docs/databases/”下
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
aLEAPP 插件
Google Keep (keep.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.keep/databases/”下
这篇博文介绍了
GBoard - 谷歌键盘 (trainingcachev3.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.inputmethod.latin/databases/”下
Kibaffo33 的博客文章和 Yogesh Khatri 的博客文章中都有介绍
aLEAPP 插件
谷歌Meet (tachyon.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.tachyon/databases/”下
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
aLEAPP 插件
Google 日历 (cal_v2a)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.calendar/databases/”下
原生和第三方应用程序使用情况分析
recent_tasks文件夹和 snapshots 文件夹
任务为XML格式,截图为JPG格式
存储在userdata 分区中的“/system_ce/0/”下
按应用程序跟踪最近的活动,包括最后一次截图
对于每个应用程序活动:
软件包名称
上次移动日期
应用程序活动
应用程序数据
应用程序截图(JPG文件)
关闭和/或卸载应用程序时,将删除该信息
亚历克西斯-布里格诺尼(Alexis Brignoni)的博文对此进行了介绍
aLEAPP 插件
netstats 文件夹
专用格式
跟踪网络使用情况的统计信息
存储在userdata 分区中的“/system/netstats”下
信息会保留一段时间(根据作者的经验,最长可达 60/90 天)
卸载某个应用程序时,将删除该应用程序的信息
usagestats 文件夹
跟踪应用程序使用情况的相关统计信息
每日、每周、每月和每年的统计数据
存储在userdata 分区中的“/system_ce/0/usagestats”下
即使在卸载应用程序后(通常长达一年),该信息也会保留
亚历克西斯·布里尼奥尼(Alexis Brignoni)和约格什·卡特里(Yogesh Khatri)的两篇博文对此进行了介绍
aLEAPP 插件
电池统计
与电池使用情况和电池统计相关的各种痕迹
以各种文件和格式存储
/system/batterystats-daily.xml
ABX 格式
/system/batterystats.bin
专有/未知格式
/system/battery-history\0.bin
专有/未知格式
/system/battery-usage-stats\*.bus
ABX 格式
/system/batterystats-checkin.bin
专有/未知格式
Android系统上最少被研究的痕迹之一
它可能包含有关应用程序使用情况的信息,即使在卸载应用程序后也是如此
电池使用情况 (battery-usage-db-v9)
SQLite 格式
存储在userdata 分区中的“/user_de/0/com.android.settings/databases/”下
它的名称与以前的 Android 版本不同
Kevin Pagano 的博客文章中描述了以前的版本
适用于旧版数据库的 aLEAPP 插件
作业
ABX 格式
存储在userdata 分区中的“/system/job/”下
各种文件,用于跟踪每个包的“作业”
未探索的痕迹
隐私面板
ABX 格式
存储在userdata 分区中的“/system/appops/discrete”下
跟踪危险权限的使用情况
乔什·希克曼(Josh Hickman)的博客文章中介绍了这一点
aLEAPP 插件
数字健康 (app_usage)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.wellbeing/databases/”下
乔什·希克曼(Josh Hickman)的博客文章中介绍了这一点
aLEAPP 插件
Firebase Cloud Messaging
LevelDB 格式
存储在userdata 分区中的“/data/com.google.android.gms/files/fcm_queued_messages.ldb ”下
应用程序用于通过共享管道发送/接收消息
Alex Caithness 的博客文章中介绍了这一点
aLEAPP 插件
设备健康服务 (Turbo) 应用程序使用情况 (app_usage_stats.xml)
XML 格式
存储在userdata 分区中的“/data/com.google.android.apps.turbo/shared_prefs/”下
设备运行状况服务监视电池消耗
凯文·帕加诺 (Kevin Pagano) 在 DFRWS 上发表的相关文章
aLEAPP 插件
Android 系统智能 (SimpleStorage)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.as/databases/”下
它可以跟踪应用程序的启动情况
Cellebrite 的一篇博文简要介绍了这一点
aLEAPP 插件
图表统计
专有/未知
存储在userdata 分区中的“/system/graphicsstats/”下
可用于跟踪应用程序的使用情况
仅持续很短的时间
通知历史记录
TXT 格式
存储在userdata 分区中的“/system_ce/0/notification_history/history/”下
将通知历史记录(包括内容)存储 24 小时
必须由用户激活(默认情况下不处于活动状态)
Google Play Protect(odad_datastore.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.odad/databases/”下
appops.xml
ABX 格式
存储在userdata 分区中的“/system/”下
包权限使用情况
aLEAPP 插件
appops_accesses-xml
ABX 格式
存储在userdata 分区中的“/system/”下
应用包权限使用情况
data_usage.db
SQLite 格式
存储在userdata 分区中的“/data/com.android.vending/”下
应用包数据使用情况
其他相关资料
设备健康服务 (Turbo) (turbo.db) - 电池电量和时区
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.apps.turbo/databases/”下
跟踪手机的电池电量
包含一个相关表 (“battery_event”)
表中的每一行都包含
以毫秒为单位的时间戳 (“timestamp_millis”)
电池电量(“battery_level”)
充电类型(“charge_type”)
时区 (“timezone”)
aLEAPP 插件
Google Play 搜索(suggestions.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.vending/databases/”下
存储在 Google Play 商店中搜索的关键字
包含一个相关表(“suggestions”)
对于每次搜索:
日期(“date”)
搜索词(“query”)
在 Forensafe 的博客文章中有所介绍
aLEAPP 插件
虚拟 SD 卡(external.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.providers.media.module/databases/”下
包含有关存储在虚拟 SD 卡中的文件的详细信息
各种相关表格
乔什·希克曼(Josh Hickman)的博客文章中介绍了这一点
aLEAPP 插件
关机检查点
TXT 格式
存储在userdata 分区中“/system/shutdown-checkpoints/”下
跟踪设备关机相关情况
凯文·帕加诺 (Kevin Pagano) 的博客文章中介绍了这一点
aLEAPP 插件
Google Cast设备 (cast.db)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.gms/databases”下
跟踪连接到智能手机的 Google 设备(例如 Google Home Hub 和 Google Home Speaker)
在 deagler 的博客文章中有所介绍
aLEAPP 插件
Android Pay (android_pay)
SQLite 格式
存储在userdata 分区中的“/data/com.google.android.gms/databases”下
ADB 密钥
TXT 格式
存储在userdata 分区中的“/misc/adb/adb_keys”下
通过 ADB 连接的主机
aLEAPP 插件
银河手机取证分析系统已全面支持安卓14。银河手机取证分析软件是一款可面向目前市场上主流手机品牌和系统进行数据获取、镜像、删除恢复、搜索过滤、人物关系碰撞以及定制报告等手机取证分析软件。本产品操作简单、搜索快速、对关系分析、痕迹分析、资金往来分析尤其高效,在实战中深受好评。
产品咨询
技术工程师
贺 佳:13908073212
王高阳:18513400125
微信助手
关于我们
北京天宇宁达科技有限公司创建于 2016 年,前身为 2009 年的北京天宇宁科技有限公司。历经十余年的发展与积累,天宇宁达已成为国内电子数据取证行业卓越领先的产品与解决方案供应商,同时也是国内知名的电子数据专业取证服务与培训机构。